package com.wicket.okrapp.biz.service.dto.common;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;



/**
 * @desc EvalThemeDto
 * @使用场景
 */
@Data
public class EvalThemeDto extends BaseDto implements Serializable {

    /**
     * 评价主题名称:
     */
    @ApiModelProperty("评价主题名称")
    private String evaluationSubjectName;

    /**
     * 评价主题标识:
     */
    @ApiModelProperty("评价主题标识")
    private String evaluationSubjectCode;
    /**
     * 评价主题ID:
     */
    @ApiModelProperty("评价主题ID")
    private String evaluationSubjectId;
/**
     * 评价主题类型编码 
     */
    @ApiModelProperty("评价主题类型编码 ")
    private String	 evaluationSubjectTypeCode;

    /**
     * 冗余配置方案标识
     */
    @ApiModelProperty("冗余配置方案标识")
    private String	 confSchemeCode;

    /**
     * 主体生命周期
     */
    @ApiModelProperty("主体生命周期")
    private String	 subjectLifeCycle;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;

    /**
     * 操作人就职记录ID
     */
    @ApiModelProperty("操作人就职记录ID")
    private String	 operationInductionId;
/**
     * 配置方案ID 
     */
    @ApiModelProperty("配置方案ID ")
    private String	 confSchemeId;

    /**
     * 答案结果值 
     */
    @ApiModelProperty("评价模板配置方案标识")
    private String	 endValue;

    /**
     * 标题文案 
     */
    @ApiModelProperty("标题文案")
    private String	 headCopywriter;

    /**
     * 按钮提示文案 
     */
    @ApiModelProperty("按钮提示文案")
    private String	 buttonCopywriter;

    /**
     * 模板方案简述 
     */
    @ApiModelProperty("模板方案简述")
    private String	 evaThemeSketch;

    /**
     * 媒体内容地址 
     */
    @ApiModelProperty("媒体内容地址")
    private String	 mediaContentAddress;
/**
     * 新增评价模板 
     */
    @ApiModelProperty("新增评价模板")
    private String	 addEvaTempButtom;

    @Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      EvalThemeDto that = (EvalThemeDto) o;
      return  evaluationSubjectName == that.evaluationSubjectName&&evaluationSubjectCode == that.evaluationSubjectCode&&evaluationSubjectId == that.evaluationSubjectId&&evaluationSubjectTypeCode == that.evaluationSubjectTypeCode&&confSchemeCode == that.confSchemeCode&&subjectLifeCycle == that.subjectLifeCycle&&operateTime == that.operateTime&&operationInductionId == that.operationInductionId&&confSchemeId == that.confSchemeId&&endValue == that.endValue&&headCopywriter == that.headCopywriter&&buttonCopywriter == that.buttonCopywriter&&evaThemeSketch == that.evaThemeSketch&&mediaContentAddress == that.mediaContentAddress&&addEvaTempButtom == that.addEvaTempButtom;
    }

    @Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), evaluationSubjectName,evaluationSubjectCode,evaluationSubjectId,evaluationSubjectTypeCode,confSchemeCode,subjectLifeCycle,operateTime,operationInductionId,confSchemeId,endValue,headCopywriter,buttonCopywriter,evaThemeSketch,mediaContentAddress,addEvaTempButtom);
    }

}
